// miniprogram/pages/personal/personal.js
const app = getApp()
const {request, getData} = require('../../util/request')
Page({

    /**
     * 页面的初始数据
     */
    data: {
        openid: app.globalData.openid,
        courses: [],
        lives: [],
        userInfo: app.globalData.userInfo,
        isBinded: app.globalData.isBinded,
        user: app.globalData.user,
        mobile: null
    },
    getDataList() {
        getData('/mike/my',
            (res) => {
                if (res.error === 0) {
                    this.setData({
                        courses: res.data.courses,
                        lives: res.data.lives
                    })
                }else{
                    wx.showToast({
                        icon: 'none',
                        title: res.message
                    })
                }
            },
            (error) => {
            })
    },
    updateUserInfo() {
        wx.getSetting({
            success: res => {
                if (res.authSetting['scope.userInfo']) {
                    // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
                    wx.getUserInfo({
                        success: res => {
                            app.globalData.userInfo = res.userInfo
                            this.setData({
                                userInfo: res.userInfo
                            })
                            this.onGetOpenid()
                        }
                    })
                }
            }
        })
    },
    onGetOpenid: function () {
        // 调用云函数
        let that = this
        wx.cloud.callFunction({
            name: 'login',
            data: {},
            success: (res) => {
                app.globalData.openid = res.result.openid
                app.globalData.unionid = res.result.unionid
                that.setData({
                    openid: res.result.openid,
                    unionid: res.result.unionid
                })
                // 设置本地缓存
                wx.setStorage({
                    key: 'openid',
                    data: res.result.openid,
                })
                wx.setStorage({
                    key: 'unionid',
                    data: res.result.unionid,
                })
                wx.setStorage({
                    key: 'userInfo',
                    data: that.data.userInfo,
                })
                // 登录
                request('/mike/auth/login', "POST", {
                    unionid: res.result.unionid,
                    openid: res.result.openid
                }, function (res) {
                    if (res.error === 0) {
                        if (res.data.auth) {
                            app.globalData.userId = res.data.user.user_id
                            app.globalData.user = res.data.user
                            that.setData({
                                userId: res.data.user.user_id,
                                is_mobile_binded: res.data.user.is_mobile_binded
                            })
                            wx.setStorage({
                                key: 'is_mobile_binded',
                                data: res.data.user.is_mobile_binded
                            })
                            wx.setStorage({
                                key: 'user',
                                data: res.data.user
                            })
                            wx.setStorage({
                                key: 'token',
                                data: res.data.auth.token_type + ' ' + res.data.auth.access_token,
                            })
                            wx.setStorage({
                                key: 'user_id',
                                data: res.data.user.user_id,
                            })
                        } else {
                            // 提示绑定
                            wx.navigateTo({
                                url: `../bind/bind`,
                            })
                        }
                        // wx.navigateTo({
                        //     url: link,
                        // })
                    } else {
                        wx.showToast({
                            title: res.message,
                            icon: 'none'
                        })
                    }
                }, function (err) {

                })
            },
            fail: err => {
                // wx.navigateTo({
                //     url: '../deployFunctions/deployFunctions',
                // })
            }
        })
    },
    toBindMobile() {
        wx.navigateTo({
            url: '../bindMobile/bindMobile',
        })
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        this.getDataList()
        this.setData({
            openid: app.globalData.openid,
            userInfo: app.globalData.userInfo,
            isBinded: app.globalData.isBinded,
            user: app.globalData.user
        })
        if (this.data.isBinded) {
            let mobile = user.mobile.substr(7,4)
            this.setData({
                mobile: mobile
            })
        }
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function (res) {
        return {
            title: '每天半小时，轻松拿本科',
            path: '/pages/index/index',//实验发现，此处的路径应该写全，写到具体的wxml页面。如path:'/page/user/user?id=123'
            success: function(res) {
                // 转发成功
            },
            fail: function(res) {
                // 转发失败
            }
        }
    },
})
